function scrollUl() {

    var text = document.getElementById('text');


    /* 克隆第一个元素 */
    function cloneEle() {
        var firstLi = text.children[0];
        var newLi = firstLi.cloneNode(true);
        text.appendChild(newLi)
    }
    cloneEle();

    /* 定时器 */
    var interval = 2000;
    var index = 0; //滚动到的位置
    setInterval(scrollText, interval); //第一个参数为函数名，表示执行函数；若scrollText()的话，就是填了函数的返回值

    /* 滚动 */
    function scrollText() {
        var scrollDis = 30; //每次要滚动的高度
        var firstPosition = index * scrollDis;
        index++;
        var nextPosition = index * scrollDis;

        var totalDuration = 500; //一次滚动的总时间
        var duration = 10; //一帧变化的时间
        var times = totalDuration / duration; //变化的次数
        var dis = (nextPosition - firstPosition) / times; //每一帧移动的距离
        
        /* 每10毫秒执行一帧，直到目标位置，停止计时器 */
        var timer = setInterval(() => {
            firstPosition += dis;
            if(firstPosition>=nextPosition){
                clearInterval(timer);
                if(index==text.children.length-1){
                    index=0;
                }
            }
            text.scrollTop=firstPosition;
        }, duration);
    }
}
scrollUl();